home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Event;
- import java.awt.Point;
- import java.io.DataInputStream;
- import java.util.NoSuchElementException;
-
- public class CCourse {
- CVariableTable m_VariableTable = new CVariableTable(true);
- CStringArray m_PathVariablesList = new CStringArray();
- CIconObject m_pActivateIconObject;
- CIconObject m_IconObject = new CIconObject();
- CTaskList m_TaskList = new CTaskList();
- CCourse m_pCourseCalledFrom = null;
- CTask m_pTaskCalledFrom = null;
- CTask m_pCurrentTask;
- boolean m_bCloseWhenPossible;
- boolean m_bUnload = false;
- String strFileName;
- int m_nFileVersion;
- int m_nPreviousTaskTag;
-
- CCourse GetCalledFromCourse() {
- return this.m_pCourseCalledFrom;
- }
-
- boolean OnSetupResponse() {
- CActivateObjectReturn var1 = new CActivateObjectReturn();
- var1.boolVal = false;
- if (this.m_pCurrentTask != null) {
- var1 = this.m_pCurrentTask.OnSetupResponse();
- this.m_pActivateIconObject = var1.pActivateObject;
- }
-
- return var1.boolVal;
- }
-
- boolean OnCommand(short var1, Object var2) {
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessCommand(var1, var2);
- if (this.m_pActivateIconObject != null) {
- return true;
- }
- }
-
- return false;
- }
-
- CTask FindTaskTag(int var1) {
- boolean var2 = true;
- CTask var3 = new CTask();
-
- try {
- var3 = this.m_TaskList.GetHead();
- } catch (NoSuchElementException var5) {
- var2 = false;
- }
-
- while(var2) {
- if (var3.GetTagNumber() == var1) {
- return var3;
- }
-
- try {
- var3 = this.m_TaskList.GetNext();
- } catch (NoSuchElementException var4) {
- var2 = false;
- }
- }
-
- return null;
- }
-
- boolean OnEvent() {
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessEvent();
- if (this.m_pActivateIconObject != null) {
- return true;
- }
- }
-
- return false;
- }
-
- boolean OnNotify(int var1, String var2) {
- boolean var3 = false;
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessNotify(var1, var2);
- if (this.m_pActivateIconObject != null) {
- var3 = true;
- }
- }
-
- return var3;
- }
-
- boolean OnKeyPress(int var1, Event var2) {
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessKeyPress(var1, var2);
- if (this.m_pActivateIconObject != null) {
- return true;
- }
- }
-
- return false;
- }
-
- void SetActiveIconObject(CIconObject var1) {
- this.m_pActivateIconObject = var1;
- }
-
- String ConstructFileName(String var1) {
- var1 = Utils.InsertVariablesInString(var1);
- return var1;
- }
-
- int OnDoResponse() {
- new CResponseReturn();
- if (this.m_pCurrentTask != null) {
- int var3 = 0;
- int var4 = this.m_nPreviousTaskTag;
- this.m_nPreviousTaskTag = this.m_pCurrentTask.GetTagNumber();
- CResponseReturn var1 = this.m_pCurrentTask.OnDoResponse(this.m_pActivateIconObject, var3);
- int var2 = var1.m_nRet;
- var3 = var1.m_nNextTaskTag;
- switch (var2) {
- case -5:
- this.m_pCurrentTask = null;
- break;
- case -4:
- this.m_pCurrentTask = this.m_TaskList.GetTail();
- break;
- case -3:
- this.m_pCurrentTask = this.m_TaskList.GetHead();
- break;
- case -1:
- if ((this.m_pCurrentTask = this.FindTaskTag(var4)) == null) {
- this.m_pCurrentTask = this.m_TaskList.GetNext(this.m_pCurrentTask);
- }
- break;
- case 1:
- default:
- this.m_pCurrentTask = this.m_TaskList.GetNext(this.m_pCurrentTask);
- break;
- case 2:
- if ((this.m_pCurrentTask = this.FindTaskTag(var3)) == null) {
- this.m_pCurrentTask = this.m_TaskList.GetNext(this.m_pCurrentTask);
- }
- break;
- case 32:
- this.m_nPreviousTaskTag = var4;
- return -1;
- }
- }
-
- return this.m_pCurrentTask == null ? 0 : 1;
- }
-
- void SetCurTask(CTask var1) {
- this.m_pCurrentTask = var1;
- }
-
- void AddEventsToActiveList() {
- CTask var1 = null;
- boolean var2 = false;
-
- try {
- var1 = this.m_TaskList.GetHead();
- } catch (NoSuchElementException var4) {
- var2 = true;
- }
-
- while(!var2) {
- if (var1 != null) {
- var1.GetEventManager().SetEvents(this, var1);
- }
-
- try {
- var1 = this.m_TaskList.GetNext();
- } catch (NoSuchElementException var3) {
- var2 = true;
- }
- }
-
- }
-
- boolean OnTimer(int var1) {
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessTimer(var1);
- if (this.m_pActivateIconObject != null) {
- return true;
- }
- }
-
- return false;
- }
-
- boolean OnDoAction() {
- return this.m_pCurrentTask != null ? this.m_pCurrentTask.OnDoAction() : false;
- }
-
- void SetCalledFromCourse() {
- this.SetCalledFromCourse((CCourse)null, (CTask)null);
- }
-
- void SetCalledFromCourse(CCourse var1) {
- this.SetCalledFromCourse(var1, (CTask)null);
- }
-
- void SetCalledFromCourse(CCourse var1, CTask var2) {
- this.m_pCourseCalledFrom = var1;
- this.m_pTaskCalledFrom = var2;
- }
-
- boolean OnMouseClick(int var1, int var2, Point var3) {
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessMouseClick(var1, var2, var3);
- if (this.m_pActivateIconObject != null) {
- return true;
- }
- }
-
- return false;
- }
-
- CTask GetCalledFromTask() {
- return this.m_pTaskCalledFrom;
- }
-
- CTask GetCurTask() {
- return this.m_pCurrentTask;
- }
-
- void ResetHistory() {
- int var1 = 0;
- CTask var2 = null;
- boolean var3 = false;
-
- try {
- var2 = this.m_TaskList.GetHead();
- } catch (NoSuchElementException var6) {
- var3 = true;
- }
-
- while(!var3) {
- if (var2 != null) {
- var2.ResetHistory();
- if (var2.HasLogResponse()) {
- ++var1;
- }
- }
-
- try {
- var2 = this.m_TaskList.GetNext();
- } catch (NoSuchElementException var5) {
- var3 = true;
- }
- }
-
- CVariable var4 = Utils.SearchAllVariables(CVariableTable.strDefVariables[3]);
- if (var4 != null) {
- var4.SetValue((double)var1);
- }
-
- }
-
- boolean LoadCourse(DataInputStream var1, CTaskList var2) {
- FileLoad.ReadCPlusInt(var1);
- String var3 = FileLoad.ReadNonUnicodeString(var1, 3);
- if (var3.equals("cpm")) {
- System.out.println("Sorry, Dazzler cannot load CPM courses!");
- return false;
- } else if (!var3.equals("mcl")) {
- System.out.println("This is not a valid Dazzler file: " + var3);
- return false;
- } else {
- this.m_nFileVersion = FileLoad.ReadCPlusInt(var1);
- if (this.m_nFileVersion > 4) {
- System.out.println("This presentation was created with a newer version of Dazzler");
- }
-
- CRect var4 = new CRect();
- var4.LoadFromFile(var1);
- FileLoad.ReadCPlusInt(var1);
- Globals.CUR_COURSE = this;
- FileLoad.ReadCPlusByte(var1);
- FileLoad.ReadCString(var1);
- this.m_VariableTable.LoadFromFile(var1);
- this.m_PathVariablesList.LoadFromFile(var1);
- this.m_IconObject.LoadFromFile(var1);
- this.m_TaskList.LoadFromFile(var1);
- this.m_pCurrentTask = this.m_TaskList.GetHead();
- Globals.thePresView.m_ObjArray = new CObjectLoadArray();
- return true;
- }
- }
-
- boolean OnMouseMove(int var1, Point var2) {
- if (this.m_pCurrentTask != null) {
- this.m_pActivateIconObject = this.m_pCurrentTask.GetResponseManager().ProcessMouseMove(var1, var2);
- if (this.m_pActivateIconObject != null) {
- return true;
- }
- }
-
- return false;
- }
-
- boolean LoadCourseFromFile(DataInputStream var1) {
- return this.LoadCourse(var1, this.m_TaskList);
- }
- }
-